package com.tarena.lbs.basic.web.service;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.pojo.basic.bo.TagLibraryBO;
import com.tarena.lbs.pojo.basic.param.TagLibraryParam;
import com.tarena.lbs.pojo.basic.query.TagLibraryQuery;
import com.tarena.lbs.pojo.basic.vo.TagLibraryVO;
import com.tarena.lbs.pojo.basic.vo.UserItemTag;
import java.util.List;
import java.util.Map;

public interface ITagLibraryService {

    void save(TagLibraryParam tagLibraryParam) throws BusinessException;

    void delete(Integer id);

    void update(Integer id, TagLibraryParam tagLibraryParam) throws BusinessException;

    TagLibraryBO detail(Integer id);

    PageResult<TagLibraryVO> list(TagLibraryQuery tagLibraryQuery);

    List<TagLibraryBO> articleList() throws BusinessException;

    Map<String, List<UserItemTag>> articleAllList() throws BusinessException;

    Map<String, List<UserItemTag>> userList() throws BusinessException;

}
